| X | |
|---|---|
| A | -170 |
| B | -150 |
| C | -140 |
| D | -80 |
| E | -30 |
| F | 0 |
| G | 10 |
| H | 30 |
| I | 45 |
| J | 150 |
| K | 165 |
| L | 175 |
Théorie de la régionalisation
Géométries
Commençons pas examiner le rôle de la géométrie dans la production d’une régionalisation. On suppose ici que le Monde se réduit à un ensemble de points et l’on cherche donc juste à regrouper les points les plus proches en régions. Le critère de régionalisation sera donc l’accessibilité ce qui reviendra à former des ensembles de points tels que :
- les points situés dans une même région soient le plus proche possibles
- les points situés dans deux régions soient le plus éloignés possibles
Il faut donc définir une mesure de proximité \(D_{ij}\) entre les points puis choisir un critère à optimiser \(H(D,R)\) qui dépendra de la distance entre les points et de leur affectation à l’une des régions.
A. Le monde est un segment …
Imaginons que le monde se réduise à une ligne comme la future ville de Neom en Arabie Saoudite
Données
On tire au hasard 12 positions \(X_1 ...X_{12}\)à l’intérieur de ce Monde en imposant comme seule contrainte que deux individus ne peuvent pas occuper la même position. Cela signifie qu’il existe une distance minimale entre deux individus qu’on fixera par exemple à 1.
Visualisation
On peut visualiser facilement le résultat en adoptant une direction quelconque puisque notre ligne n’est pas orientée vers une direction particulière
Distances
Dans notre monde linéaire on construite une distance \(D_{ij}\) qui sera par définition une fonction de la seule variable de localisation \(X_i\). Un choix évident est la différence en valeur absolue :
\(D_{ij} = |X_i - X_j|\)
Comme notre monde est fini on peut normaliser la distance sur l’intervalle \([0 ; 1]\) en divisant les valeurs de distance par la valeur maximale possible (de préférence à la valeur maximale observée).
\(D_{ij}^{norm} = |X_i - X_j|/ D_{max}\)
Le maximum possible étant pour nous égal ici à \(D_{max} = 360\), la matrice de distance se calcule sans difficultés avec la fonction dist()de R-base :
Dij = dist(coo,diag = T, upper = T,method = "euclidean")
Dij = Dij/360
kable(as.matrix(Dij),
caption = "Matrice de distance normalisée",
digits=2)| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | 0.00 | 0.06 | 0.08 | 0.25 | 0.39 | 0.47 | 0.50 | 0.56 | 0.60 | 0.89 | 0.93 | 0.96 |
| B | 0.06 | 0.00 | 0.03 | 0.19 | 0.33 | 0.42 | 0.44 | 0.50 | 0.54 | 0.83 | 0.88 | 0.90 |
| C | 0.08 | 0.03 | 0.00 | 0.17 | 0.31 | 0.39 | 0.42 | 0.47 | 0.51 | 0.81 | 0.85 | 0.88 |
| D | 0.25 | 0.19 | 0.17 | 0.00 | 0.14 | 0.22 | 0.25 | 0.31 | 0.35 | 0.64 | 0.68 | 0.71 |
| E | 0.39 | 0.33 | 0.31 | 0.14 | 0.00 | 0.08 | 0.11 | 0.17 | 0.21 | 0.50 | 0.54 | 0.57 |
| F | 0.47 | 0.42 | 0.39 | 0.22 | 0.08 | 0.00 | 0.03 | 0.08 | 0.12 | 0.42 | 0.46 | 0.49 |
| G | 0.50 | 0.44 | 0.42 | 0.25 | 0.11 | 0.03 | 0.00 | 0.06 | 0.10 | 0.39 | 0.43 | 0.46 |
| H | 0.56 | 0.50 | 0.47 | 0.31 | 0.17 | 0.08 | 0.06 | 0.00 | 0.04 | 0.33 | 0.38 | 0.40 |
| I | 0.60 | 0.54 | 0.51 | 0.35 | 0.21 | 0.12 | 0.10 | 0.04 | 0.00 | 0.29 | 0.33 | 0.36 |
| J | 0.89 | 0.83 | 0.81 | 0.64 | 0.50 | 0.42 | 0.39 | 0.33 | 0.29 | 0.00 | 0.04 | 0.07 |
| K | 0.93 | 0.88 | 0.85 | 0.68 | 0.54 | 0.46 | 0.43 | 0.38 | 0.33 | 0.04 | 0.00 | 0.03 |
| L | 0.96 | 0.90 | 0.88 | 0.71 | 0.57 | 0.49 | 0.46 | 0.40 | 0.36 | 0.07 | 0.03 | 0.00 |
Partition
Dans notre espace à une dimension, la variable \(X_i\) peut correspondre indifféremment à une position spatiale ou à un attribut statistique. Le choix d’une méthode de régionalisation revient donc ici à une simple classification visant à minimiser les distances intra-classes et maximiser les distances inter-classes. Il suffit donc d’appliquer un programme de classification pour obtenir une régionalisation de notre espace.
On peut utiliser ici la procédure hclust de R-base
On peut encore plus simplement utiliser la procédure kmeans de R-base mais en fixant le nombre de classes
Trajectoires
Plutôt que de fixer a priori le nombre de régions, on peut également raisonner sur la distribution des densités de points en fonction d’une fonction décroissante de la distance, ce qui permettra de repérer des pics de forte densité (“coeurs” des régions) et des bassins de faible densité (“marges” des régions).
Supposons par exemple que nous appliquions un voisinage gaussien de portée \(\mu\) c’est à dire
\(f(D_{ij}) = exp(- \alpha D_{ij}^2)\) avec \(\alpha = ln(0.5)/\mu^2\)
On peut alors voir comment le nombre de pics de densité diminue lorsque la portée de la fonction de voisinage augmente et comment on passe de 4 pics (\(\mu = 20\)) à trois pics (\(\mu = 40\)) et finalement un seul (\(\mu = 80\)).
Ce résultat très important montre que l’on peut construire un continuum de régionalisations en faisant varier le paramètre \(\mu\) pour une certraine famille de fonction de la distance et en examinant l’évolution de la distribution des pics et des creux d’accessibilité.
B. Le monde est un cercle …
Imaginons maintenant que le monde se réduit à une cercle autour d’une planète, comme dans le cas des anneaux de Saturne
Données
On tire au hasard 12 positions de longitude \(Lon_1 ...Lon _{12}\) et on fixe toutes les latitudes à 0.
| Lon | Lat | |
|---|---|---|
| A | -170 | 0 |
| B | -150 | 0 |
| C | -140 | 0 |
| D | -80 | 0 |
| E | -30 | 0 |
| F | 0 | 0 |
| G | 10 | 0 |
| H | 30 | 0 |
| I | 45 | 0 |
| J | 150 | 0 |
| K | 165 | 0 |
| L | 175 | 0 |
Il s’agit apparemment de la même situation que précédemment (les valeurs de longitude retenue correspondent aux valeurs précédentes de X) mais la géométrie n’est plus la même ce qui change fondamentalement les distances.
Visualisation
Si l’on veut visualiser correctement les distances entre les points, il faut adopter une projection polaire qui respecte les distances. Si l’on suppose que notre monde est une sphère de rayon de 1000 km, on peut construire les coordonnées suivantes :
| x | y | |
|---|---|---|
| A | -984.8078 | -173.64818 |
| B | -866.0254 | -500.00000 |
| C | -766.0444 | -642.78761 |
| D | 173.6482 | -984.80775 |
| E | 866.0254 | -500.00000 |
| F | 1000.0000 | 0.00000 |
| G | 984.8078 | 173.64818 |
| H | 866.0254 | 500.00000 |
| I | 707.1068 | 707.10678 |
| J | -866.0254 | 500.00000 |
| K | -965.9258 | 258.81905 |
| L | -996.1947 | 87.15574 |
Ce qui donne l’image suivante :
Distances
Dans notre monde circulaire, il n’est pas possible de se déplacer en ligne droite. Les distances correspondent donc aux trajets effectués sur un arc de cercle ce qui donne une valeur maximale égale à \(2 \times \pi \times R\) avec \(R\) égal au rayon du cercle. On normalise par la distance maximale qui est égale à \(\pi R\) soit 3141.5 km dans notre exemple.
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | 0.00 | 0.11 | 0.17 | 0.50 | 0.78 | 0.94 | 1.00 | 0.89 | 0.81 | 0.22 | 0.14 | 0.08 |
| B | 0.11 | 0.00 | 0.06 | 0.39 | 0.67 | 0.83 | 0.89 | 1.00 | 0.92 | 0.33 | 0.25 | 0.19 |
| C | 0.17 | 0.06 | 0.00 | 0.33 | 0.61 | 0.78 | 0.83 | 0.94 | 0.97 | 0.39 | 0.31 | 0.25 |
| D | 0.50 | 0.39 | 0.33 | 0.00 | 0.28 | 0.44 | 0.50 | 0.61 | 0.69 | 0.72 | 0.64 | 0.58 |
| E | 0.78 | 0.67 | 0.61 | 0.28 | 0.00 | 0.17 | 0.22 | 0.33 | 0.42 | 1.00 | 0.92 | 0.86 |
| F | 0.94 | 0.83 | 0.78 | 0.44 | 0.17 | 0.00 | 0.06 | 0.17 | 0.25 | 0.83 | 0.92 | 0.97 |
| G | 1.00 | 0.89 | 0.83 | 0.50 | 0.22 | 0.06 | 0.00 | 0.11 | 0.19 | 0.78 | 0.86 | 0.92 |
| H | 0.89 | 1.00 | 0.94 | 0.61 | 0.33 | 0.17 | 0.11 | 0.00 | 0.08 | 0.67 | 0.75 | 0.81 |
| I | 0.81 | 0.92 | 0.97 | 0.69 | 0.42 | 0.25 | 0.19 | 0.08 | 0.00 | 0.58 | 0.67 | 0.72 |
| J | 0.22 | 0.33 | 0.39 | 0.72 | 1.00 | 0.83 | 0.78 | 0.67 | 0.58 | 0.00 | 0.08 | 0.14 |
| K | 0.14 | 0.25 | 0.31 | 0.64 | 0.92 | 0.92 | 0.86 | 0.75 | 0.67 | 0.08 | 0.00 | 0.06 |
| L | 0.08 | 0.19 | 0.25 | 0.58 | 0.86 | 0.97 | 0.92 | 0.81 | 0.72 | 0.14 | 0.06 | 0.00 |
La distance maximale est alors observée entre des points situés à l’opposé l’un de l’autre sur le cercle comme A et D. Mais en revanche les points qui étaient auparavant très éloignés dans le monde du segment comme A et L sont désormais très proches dans le monde du cercle puisque celui-ci se referme à leur niveau.
Partition
Dans notre monde circulaire, la classification est très différente de celle observée dans le monde du segment alors même que les valeurs numériques sont au départ les mêmes. C’est la projection qui diffère.
On va utilise la procédure kmeans de R-base en fixant le nombre de classes à trois comme précédemment
Trajectoires
Comme dans le cas du monde linéaire, on peut tracer des courbes de densité paramétriques pour repérer les coeurs et les marges de notre espace. On utilise ici la méthode de lissage par kernel paramétrique (vonmises) du package circularavec des paramètres kappa de valeur 9 , 18 et 36.
Contrairement à l’example précédent où la partition en trois régions était la plus récurrente, c’est ici la partition en deux groupes qui ressort avec juste un point isolé à la frontière entre les deux principales classes.